Not sure why BK didn't pick this up last time...
41f97ef5139vN42cOYHfX_Ac8WOOjA xen/arch/x86/vmx_platform.c
41c0c4128URE0dxcO15JME_MuKBPfg xen/arch/x86/vmx_vmcs.c
419cbedeQDg8IrO3izo3o5rQNlo0kQ xen/arch/x86/x86_32/asm-offsets.c
-4107c15e_NqNYew2EXroXz2mgTAMWQ xen/arch/x86/x86_32/cdb_trap.S
+4107c15e_NqNYew2EXroXz2mgTAMWQ xen/arch/x86/x86_32/call_with_regs.S
4202391dkvdTZ8GhWXe3Gqf9EOgWXg xen/arch/x86/x86_32/domain_build.c
3e32af9aRnYGl4GMOaDKp7JdfhOGhg xen/arch/x86/x86_32/domain_page.c
3ddb79bcecupHj56ZbTa3B0FxDowMg xen/arch/x86/x86_32/entry.S
ifneq ($(crash_debug),y)
OBJS := $(patsubst cdb%.o,,$(OBJS))
-OBJS := $(patsubst $(TARGET_SUBARCH)/cdb%.o,,$(OBJS))
endif
default: $(TARGET)
serhnd : -1
};
-void
+int
__trap_to_cdb(struct xen_regs *regs)
{
int resume = 0;
--- /dev/null
+.global call_with_registers
+
+#include <asm/asm-offsets.h>
+
+ // int call_with_registers(void (*f)(struct xen_regs *r)) ->
+ // build a xen_regs structure, and then call f with that.
+call_with_registers:
+ pushf
+ subl $XREGS_user_sizeof, %esp
+ movl %ebx, XREGS_ebx(%esp)
+ movl %ecx, XREGS_ecx(%esp)
+ movl %edx, XREGS_edx(%esp)
+ movl %esi, XREGS_esi(%esp)
+ movl %edi, XREGS_edi(%esp)
+ movl %ebp, XREGS_ebp(%esp)
+ movl %eax, XREGS_eax(%esp)
+ movw $0, XREGS_error_code(%esp)
+ movw $0, XREGS_entry_vector(%esp)
+ movl XREGS_user_sizeof+4(%esp), %eax
+ movl %eax, XREGS_eip(%esp)
+ movl %cs, XREGS_cs(%esp)
+ movl XREGS_user_sizeof(%esp), %eax
+ movl %eax, XREGS_eflags(%esp)
+ movl %esp, XREGS_esp(%esp)
+ addl $XREGS_user_sizeof+4, XREGS_esp(%esp)
+ movl %ss, XREGS_ss(%esp)
+ movl %es, XREGS_es(%esp)
+ movl %ds, XREGS_ds(%esp)
+ movl %fs, XREGS_fs(%esp)
+ movl %gs, XREGS_gs(%esp)
+
+ movl XREGS_user_sizeof+8(%esp), %eax
+ pushl %esp
+ call *%eax
+ add $XREGS_user_sizeof + 8, %esp
+ ret
+++ /dev/null
-.global call_with_registers
-
-#include <asm/asm-offsets.h>
-
- // int call_with_registers(void (*f)(struct xen_regs *r)) ->
- // build a xen_regs structure, and then call f with that.
-call_with_registers:
- pushf
- subl $XREGS_user_sizeof, %esp
- movl %ebx, XREGS_ebx(%esp)
- movl %ecx, XREGS_ecx(%esp)
- movl %edx, XREGS_edx(%esp)
- movl %esi, XREGS_esi(%esp)
- movl %edi, XREGS_edi(%esp)
- movl %ebp, XREGS_ebp(%esp)
- movl %eax, XREGS_eax(%esp)
- movw $0, XREGS_error_code(%esp)
- movw $0, XREGS_entry_vector(%esp)
- movl XREGS_user_sizeof+4(%esp), %eax
- movl %eax, XREGS_eip(%esp)
- movl %cs, XREGS_cs(%esp)
- movl XREGS_user_sizeof(%esp), %eax
- movl %eax, XREGS_eflags(%esp)
- movl %esp, XREGS_esp(%esp)
- addl $XREGS_user_sizeof+4, XREGS_esp(%esp)
- movl %ss, XREGS_ss(%esp)
- movl %es, XREGS_es(%esp)
- movl %ds, XREGS_ds(%esp)
- movl %fs, XREGS_fs(%esp)
- movl %gs, XREGS_gs(%esp)
-
- movl XREGS_user_sizeof+8(%esp), %eax
- pushl %esp
- call *%eax
- add $XREGS_user_sizeof + 8, %esp
- ret